/**
 * 
 * 广州锐鹏计算机科技有限公司（www.ruipengkj.com）
 * 
 * 
 * Copyright (c) 2011-2012 RUIPENGKJ.Co.Ltd. All rights reserved.
 * 
 * */
package com.ruipengkj.model;

import java.util.List;
import java.util.Vector;

import javax.swing.table.AbstractTableModel;

import com.ruipengkj.ApplicationContext;
import com.ruipengkj.bean.TOrder;
import com.ruipengkj.bean.TUser;
/**在线订单
 * @Author：李智深
 * @Date：2012-03-22
 */
public class OrderOnlineModel extends AbstractTableModel{

	private static final long serialVersionUID = 1L;
	private Vector<List<Object>> rowdatas=new Vector<List<Object>>();
	private Vector<String> columns = new Vector<String>();
	
	public OrderOnlineModel(){
		columns.add("订单编号");
		columns.add("用户名");
		columns.add("用户名称");
		columns.add("手机号");
		columns.add("订单状态");
		columns.add("付款状态");
		columns.add("支付状态");
		columns.add("配送方式");
		columns.add("结束方式");
		columns.add("总金额");
		columns.add("应付金额");
		columns.add("添加时间");
		columns.add("订单来源");
	}

	//获得行数
	public int getRowCount(){
		return rowdatas.size();
	}
	//获得列数
	public int getColumnCount(){
		return columns.size();
	}
	//获得单元格的值
	public Object getValueAt(int row,int column){
		if (rowdatas.isEmpty())
			return "";
		return ((Vector<?>)rowdatas.get(row)).get(column);
	}
	//获取列名
	public String getColumnName(int column){
		return (String)columns.get(column);
	}
	
	//获取列对应的类型
	public Class<?> getColumnClass(int column){
		return  Object.class;
	}
	//设置单元格是否可编辑
	public boolean isCellEditable(int rowIndex,int columnIndex){
		return false;
	}
	
	public void removeData(int row){
		rowdatas.remove(row);
	}
	//设置单元格的值
	public void setValueAt(Object aValue,int rowIndex,int columnIndex){
		//取出对应的记录
		Vector<Object> rowdata = (Vector<Object>)rowdatas.get(rowIndex);
		//删除原来的值
		rowdata.remove(columnIndex);
		//添加用户新修改的值
		rowdata.add(columnIndex,aValue);
	}


	public void setRowData(List<TOrder> tOrderList) {
		rowdatas.clear();
		if(tOrderList!=null&&tOrderList.size()!=0){
			for(int i=0;i<tOrderList.size();i++){
				TOrder tOrder=tOrderList.get(i);
				List<Object> row=new Vector<Object>();
				row.add(tOrder.getOrderID());//订单编号
				TUser user=tOrder.getTUser();
				if(user!=null){
					row.add(user.getUserName());//用户名
					row.add(user.getRealName());//用户名称
					row.add(user.getMobile());//手机号
				}else{
					row.add("    ");//用户名
					row.add("    ");//用户名称
					row.add("    ");//手机号
				}
				row.add(ApplicationContext.ORDER_STATUS_MAP().get(tOrder.getStatus()));//订单状态
				row.add(ApplicationContext.PLAY_MATHOD_MAP().get(tOrder.getPayWay()));//付款状态
				row.add(ApplicationContext.PLAY_STATUS_MAP().get(tOrder.getPayStatus()));//支付状态
				row.add(ApplicationContext.ORDER_SENDWAY_MAP().get(tOrder.getSendWay()));//配送方式
				row.add(ApplicationContext.ORDER_ENDWAY_MAP().get(tOrder.getEndWay()));//结束方式
				row.add(tOrder.getTotalAmount());//总金额
				row.add(tOrder.getNeedMoney());//应付金额
				row.add(tOrder.getHappenTime());//添加时间
				String orderSource=ApplicationContext.ORDER_SOURCE_MAP().get(tOrder.getSource());//订单来源
				if(orderSource==null||orderSource.equals("")){
					row.add("      ");
				}else{
					row.add(orderSource);//订单来源
				}
				rowdatas.add(row);
			}
		}
	}
	public void clear(){
		rowdatas.removeAllElements();
	}
}
